package br.com.msystem.vo;
// Generated 12/03/2013 13:33:49 by Hibernate Tools 3.4.0.CR1


import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

/**
 * Produtos generated by hbm2java
 */
@Entity
@Table(name="produtos"
    ,catalog="handy"
    , uniqueConstraints = @UniqueConstraint(columnNames="CODIGO_PRODUTO") 
)
public class Produtos  implements java.io.Serializable {


     private int produtoSq;
     private Nbm nbm;
     private Produtos produtos;
     private Linha linha;
     private Modelos modelos;
     private String codigoProduto;
     private String descricaoProduto;
     private Integer qtdeEstoque1;
     private Integer qtdeEstoque2;
     private String unProduto;
     private String marcaProduto;
     private BigDecimal precoUnit;
     private Integer tipoProduto;
     private Integer qtdeEstoque3;
     private Integer qtdeEstoque4;
     private Integer qtdeEstoque5;
     private Integer qtdeEstoque6;
     private Integer qtdeEstoque7;
     private Integer qtdeEstoque8;
     private BigDecimal pesoBruto;
     private BigDecimal pesoLiquido;
     private BigDecimal aliqIcmsSubst;
     private Integer origemMercadoria;
     private byte[] descricaoCompletaBlob;
     private String descricaoCompleta;
     private String codigoUpc;
     private String codigoDun;
     private BigDecimal larguraLiquida;
     private BigDecimal alturaLiquida;
     private BigDecimal profundidadeLiquida;
     private BigDecimal larguraBruta;
     private BigDecimal alturaBruta;
     private BigDecimal profundidadeBruta;
     private Integer qtdeEstoque9;
     private Integer qtdeEstoque10;
     private Integer controleNumeroSerie;
     private String mascaraNumeroSerie;
     private String produtoAtivo;
     private int grupoBalanco;
     private Set<BalancoContagemProduto> balancoContagemProdutos = new HashSet<BalancoContagemProduto>(0);
     private Set<ConteinerItens> conteinerItenses = new HashSet<ConteinerItens>(0);
     private Set<ProdutoImagem> produtoImagems = new HashSet<ProdutoImagem>(0);
     private Set<ProdutosFaltantes> produtosFaltanteses = new HashSet<ProdutosFaltantes>(0);
     private Set<ProdutoNumeroSerie> produtoNumeroSeries = new HashSet<ProdutoNumeroSerie>(0);
     private Set<NfiscaisItens> nfiscaisItenses = new HashSet<NfiscaisItens>(0);
     private Set<AssistenciasItens> assistenciasItenses = new HashSet<AssistenciasItens>(0);
     private Set<PedidosItens> pedidosItenses = new HashSet<PedidosItens>(0);
     private Set<AssistenciasEquips> assistenciasEquipses = new HashSet<AssistenciasEquips>(0);
     private Set<RmaItem> rmaItems = new HashSet<RmaItem>(0);
     private Set<Produtos> produtoses = new HashSet<Produtos>(0);
     private Set<Kardex> kardexes = new HashSet<Kardex>(0);
     private Set<NfEntradasItens> nfEntradasItenses = new HashSet<NfEntradasItens>(0);

    public Produtos() {
    }

	
    public Produtos(Nbm nbm, Modelos modelos, String codigoProduto, String descricaoProduto, String produtoAtivo, int grupoBalanco) {
        this.nbm = nbm;
        this.modelos = modelos;
        this.codigoProduto = codigoProduto;
        this.descricaoProduto = descricaoProduto;
        this.produtoAtivo = produtoAtivo;
        this.grupoBalanco = grupoBalanco;
    }
    public Produtos(Nbm nbm, Produtos produtos, Linha linha, Modelos modelos, String codigoProduto, String descricaoProduto, Integer qtdeEstoque1, Integer qtdeEstoque2, String unProduto, String marcaProduto, BigDecimal precoUnit, Integer tipoProduto, Integer qtdeEstoque3, Integer qtdeEstoque4, Integer qtdeEstoque5, Integer qtdeEstoque6, Integer qtdeEstoque7, Integer qtdeEstoque8, BigDecimal pesoBruto, BigDecimal pesoLiquido, BigDecimal aliqIcmsSubst, Integer origemMercadoria, byte[] descricaoCompletaBlob, String descricaoCompleta, String codigoUpc, String codigoDun, BigDecimal larguraLiquida, BigDecimal alturaLiquida, BigDecimal profundidadeLiquida, BigDecimal larguraBruta, BigDecimal alturaBruta, BigDecimal profundidadeBruta, Integer qtdeEstoque9, Integer qtdeEstoque10, Integer controleNumeroSerie, String mascaraNumeroSerie, String produtoAtivo, int grupoBalanco, Set<BalancoContagemProduto> balancoContagemProdutos, Set<ConteinerItens> conteinerItenses, Set<ProdutoImagem> produtoImagems, Set<ProdutosFaltantes> produtosFaltanteses, Set<ProdutoNumeroSerie> produtoNumeroSeries, Set<NfiscaisItens> nfiscaisItenses, Set<AssistenciasItens> assistenciasItenses, Set<PedidosItens> pedidosItenses, Set<AssistenciasEquips> assistenciasEquipses, Set<RmaItem> rmaItems, Set<Produtos> produtoses, Set<Kardex> kardexes, Set<NfEntradasItens> nfEntradasItenses) {
       this.nbm = nbm;
       this.produtos = produtos;
       this.linha = linha;
       this.modelos = modelos;
       this.codigoProduto = codigoProduto;
       this.descricaoProduto = descricaoProduto;
       this.qtdeEstoque1 = qtdeEstoque1;
       this.qtdeEstoque2 = qtdeEstoque2;
       this.unProduto = unProduto;
       this.marcaProduto = marcaProduto;
       this.precoUnit = precoUnit;
       this.tipoProduto = tipoProduto;
       this.qtdeEstoque3 = qtdeEstoque3;
       this.qtdeEstoque4 = qtdeEstoque4;
       this.qtdeEstoque5 = qtdeEstoque5;
       this.qtdeEstoque6 = qtdeEstoque6;
       this.qtdeEstoque7 = qtdeEstoque7;
       this.qtdeEstoque8 = qtdeEstoque8;
       this.pesoBruto = pesoBruto;
       this.pesoLiquido = pesoLiquido;
       this.aliqIcmsSubst = aliqIcmsSubst;
       this.origemMercadoria = origemMercadoria;
       this.descricaoCompletaBlob = descricaoCompletaBlob;
       this.descricaoCompleta = descricaoCompleta;
       this.codigoUpc = codigoUpc;
       this.codigoDun = codigoDun;
       this.larguraLiquida = larguraLiquida;
       this.alturaLiquida = alturaLiquida;
       this.profundidadeLiquida = profundidadeLiquida;
       this.larguraBruta = larguraBruta;
       this.alturaBruta = alturaBruta;
       this.profundidadeBruta = profundidadeBruta;
       this.qtdeEstoque9 = qtdeEstoque9;
       this.qtdeEstoque10 = qtdeEstoque10;
       this.controleNumeroSerie = controleNumeroSerie;
       this.mascaraNumeroSerie = mascaraNumeroSerie;
       this.produtoAtivo = produtoAtivo;
       this.grupoBalanco = grupoBalanco;
       this.balancoContagemProdutos = balancoContagemProdutos;
       this.conteinerItenses = conteinerItenses;
       this.produtoImagems = produtoImagems;
       this.produtosFaltanteses = produtosFaltanteses;
       this.produtoNumeroSeries = produtoNumeroSeries;
       this.nfiscaisItenses = nfiscaisItenses;
       this.assistenciasItenses = assistenciasItenses;
       this.pedidosItenses = pedidosItenses;
       this.assistenciasEquipses = assistenciasEquipses;
       this.rmaItems = rmaItems;
       this.produtoses = produtoses;
       this.kardexes = kardexes;
       this.nfEntradasItenses = nfEntradasItenses;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="PRODUTO_SQ", unique=true, nullable=false)
    public int getProdutoSq() {
        return this.produtoSq;
    }
    
    public void setProdutoSq(int produtoSq) {
        this.produtoSq = produtoSq;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="NBM_SQ", nullable=false)
    public Nbm getNbm() {
        return this.nbm;
    }
    
    public void setNbm(Nbm nbm) {
        this.nbm = nbm;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="produto_sq_retorno")
    public Produtos getProdutos() {
        return this.produtos;
    }
    
    public void setProdutos(Produtos produtos) {
        this.produtos = produtos;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="linha_sq")
    public Linha getLinha() {
        return this.linha;
    }
    
    public void setLinha(Linha linha) {
        this.linha = linha;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="MODELO_SQ", nullable=false)
    public Modelos getModelos() {
        return this.modelos;
    }
    
    public void setModelos(Modelos modelos) {
        this.modelos = modelos;
    }

    
    @Column(name="CODIGO_PRODUTO", unique=true, nullable=false, length=20)
    public String getCodigoProduto() {
        return this.codigoProduto;
    }
    
    public void setCodigoProduto(String codigoProduto) {
        this.codigoProduto = codigoProduto;
    }

    
    @Column(name="DESCRICAO_PRODUTO", nullable=false, length=50)
    public String getDescricaoProduto() {
        return this.descricaoProduto;
    }
    
    public void setDescricaoProduto(String descricaoProduto) {
        this.descricaoProduto = descricaoProduto;
    }

    
    @Column(name="qtde_estoque1")
    public Integer getQtdeEstoque1() {
        return this.qtdeEstoque1;
    }
    
    public void setQtdeEstoque1(Integer qtdeEstoque1) {
        this.qtdeEstoque1 = qtdeEstoque1;
    }

    
    @Column(name="qtde_estoque2")
    public Integer getQtdeEstoque2() {
        return this.qtdeEstoque2;
    }
    
    public void setQtdeEstoque2(Integer qtdeEstoque2) {
        this.qtdeEstoque2 = qtdeEstoque2;
    }

    
    @Column(name="UN_PRODUTO", length=2)
    public String getUnProduto() {
        return this.unProduto;
    }
    
    public void setUnProduto(String unProduto) {
        this.unProduto = unProduto;
    }

    
    @Column(name="MARCA_PRODUTO", length=20)
    public String getMarcaProduto() {
        return this.marcaProduto;
    }
    
    public void setMarcaProduto(String marcaProduto) {
        this.marcaProduto = marcaProduto;
    }

    
    @Column(name="PRECO_UNIT", precision=9)
    public BigDecimal getPrecoUnit() {
        return this.precoUnit;
    }
    
    public void setPrecoUnit(BigDecimal precoUnit) {
        this.precoUnit = precoUnit;
    }

    
    @Column(name="TIPO_PRODUTO")
    public Integer getTipoProduto() {
        return this.tipoProduto;
    }
    
    public void setTipoProduto(Integer tipoProduto) {
        this.tipoProduto = tipoProduto;
    }

    
    @Column(name="qtde_estoque3")
    public Integer getQtdeEstoque3() {
        return this.qtdeEstoque3;
    }
    
    public void setQtdeEstoque3(Integer qtdeEstoque3) {
        this.qtdeEstoque3 = qtdeEstoque3;
    }

    
    @Column(name="qtde_estoque4")
    public Integer getQtdeEstoque4() {
        return this.qtdeEstoque4;
    }
    
    public void setQtdeEstoque4(Integer qtdeEstoque4) {
        this.qtdeEstoque4 = qtdeEstoque4;
    }

    
    @Column(name="qtde_estoque5")
    public Integer getQtdeEstoque5() {
        return this.qtdeEstoque5;
    }
    
    public void setQtdeEstoque5(Integer qtdeEstoque5) {
        this.qtdeEstoque5 = qtdeEstoque5;
    }

    
    @Column(name="qtde_estoque6")
    public Integer getQtdeEstoque6() {
        return this.qtdeEstoque6;
    }
    
    public void setQtdeEstoque6(Integer qtdeEstoque6) {
        this.qtdeEstoque6 = qtdeEstoque6;
    }

    
    @Column(name="qtde_estoque7")
    public Integer getQtdeEstoque7() {
        return this.qtdeEstoque7;
    }
    
    public void setQtdeEstoque7(Integer qtdeEstoque7) {
        this.qtdeEstoque7 = qtdeEstoque7;
    }

    
    @Column(name="qtde_estoque8")
    public Integer getQtdeEstoque8() {
        return this.qtdeEstoque8;
    }
    
    public void setQtdeEstoque8(Integer qtdeEstoque8) {
        this.qtdeEstoque8 = qtdeEstoque8;
    }

    
    @Column(name="PESO_BRUTO", precision=8)
    public BigDecimal getPesoBruto() {
        return this.pesoBruto;
    }
    
    public void setPesoBruto(BigDecimal pesoBruto) {
        this.pesoBruto = pesoBruto;
    }

    
    @Column(name="PESO_LIQUIDO", precision=8)
    public BigDecimal getPesoLiquido() {
        return this.pesoLiquido;
    }
    
    public void setPesoLiquido(BigDecimal pesoLiquido) {
        this.pesoLiquido = pesoLiquido;
    }

    
    @Column(name="aliq_icms_subst", precision=9)
    public BigDecimal getAliqIcmsSubst() {
        return this.aliqIcmsSubst;
    }
    
    public void setAliqIcmsSubst(BigDecimal aliqIcmsSubst) {
        this.aliqIcmsSubst = aliqIcmsSubst;
    }

    
    @Column(name="origem_mercadoria")
    public Integer getOrigemMercadoria() {
        return this.origemMercadoria;
    }
    
    public void setOrigemMercadoria(Integer origemMercadoria) {
        this.origemMercadoria = origemMercadoria;
    }

    
    @Column(name="descricao_completa_blob")
    public byte[] getDescricaoCompletaBlob() {
        return this.descricaoCompletaBlob;
    }
    
    public void setDescricaoCompletaBlob(byte[] descricaoCompletaBlob) {
        this.descricaoCompletaBlob = descricaoCompletaBlob;
    }

    
    @Column(name="descricao_completa", length=1000)
    public String getDescricaoCompleta() {
        return this.descricaoCompleta;
    }
    
    public void setDescricaoCompleta(String descricaoCompleta) {
        this.descricaoCompleta = descricaoCompleta;
    }

    
    @Column(name="codigo_upc", length=12)
    public String getCodigoUpc() {
        return this.codigoUpc;
    }
    
    public void setCodigoUpc(String codigoUpc) {
        this.codigoUpc = codigoUpc;
    }

    
    @Column(name="codigo_dun", length=14)
    public String getCodigoDun() {
        return this.codigoDun;
    }
    
    public void setCodigoDun(String codigoDun) {
        this.codigoDun = codigoDun;
    }

    
    @Column(name="largura_liquida", precision=10)
    public BigDecimal getLarguraLiquida() {
        return this.larguraLiquida;
    }
    
    public void setLarguraLiquida(BigDecimal larguraLiquida) {
        this.larguraLiquida = larguraLiquida;
    }

    
    @Column(name="altura_liquida", precision=10)
    public BigDecimal getAlturaLiquida() {
        return this.alturaLiquida;
    }
    
    public void setAlturaLiquida(BigDecimal alturaLiquida) {
        this.alturaLiquida = alturaLiquida;
    }

    
    @Column(name="profundidade_liquida", precision=10)
    public BigDecimal getProfundidadeLiquida() {
        return this.profundidadeLiquida;
    }
    
    public void setProfundidadeLiquida(BigDecimal profundidadeLiquida) {
        this.profundidadeLiquida = profundidadeLiquida;
    }

    
    @Column(name="largura_bruta", precision=10)
    public BigDecimal getLarguraBruta() {
        return this.larguraBruta;
    }
    
    public void setLarguraBruta(BigDecimal larguraBruta) {
        this.larguraBruta = larguraBruta;
    }

    
    @Column(name="altura_bruta", precision=10)
    public BigDecimal getAlturaBruta() {
        return this.alturaBruta;
    }
    
    public void setAlturaBruta(BigDecimal alturaBruta) {
        this.alturaBruta = alturaBruta;
    }

    
    @Column(name="profundidade_bruta", precision=10)
    public BigDecimal getProfundidadeBruta() {
        return this.profundidadeBruta;
    }
    
    public void setProfundidadeBruta(BigDecimal profundidadeBruta) {
        this.profundidadeBruta = profundidadeBruta;
    }

    
    @Column(name="qtde_estoque9")
    public Integer getQtdeEstoque9() {
        return this.qtdeEstoque9;
    }
    
    public void setQtdeEstoque9(Integer qtdeEstoque9) {
        this.qtdeEstoque9 = qtdeEstoque9;
    }

    
    @Column(name="qtde_estoque10")
    public Integer getQtdeEstoque10() {
        return this.qtdeEstoque10;
    }
    
    public void setQtdeEstoque10(Integer qtdeEstoque10) {
        this.qtdeEstoque10 = qtdeEstoque10;
    }

    
    @Column(name="controle_numero_serie")
    public Integer getControleNumeroSerie() {
        return this.controleNumeroSerie;
    }
    
    public void setControleNumeroSerie(Integer controleNumeroSerie) {
        this.controleNumeroSerie = controleNumeroSerie;
    }

    
    @Column(name="mascara_numero_serie", length=50)
    public String getMascaraNumeroSerie() {
        return this.mascaraNumeroSerie;
    }
    
    public void setMascaraNumeroSerie(String mascaraNumeroSerie) {
        this.mascaraNumeroSerie = mascaraNumeroSerie;
    }

    
    @Column(name="produto_ativo", nullable=false, length=1)
    public String getProdutoAtivo() {
        return this.produtoAtivo;
    }
    
    public void setProdutoAtivo(String produtoAtivo) {
        this.produtoAtivo = produtoAtivo;
    }

    
    @Column(name="grupo_balanco", nullable=false)
    public int getGrupoBalanco() {
        return this.grupoBalanco;
    }
    
    public void setGrupoBalanco(int grupoBalanco) {
        this.grupoBalanco = grupoBalanco;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<BalancoContagemProduto> getBalancoContagemProdutos() {
        return this.balancoContagemProdutos;
    }
    
    public void setBalancoContagemProdutos(Set<BalancoContagemProduto> balancoContagemProdutos) {
        this.balancoContagemProdutos = balancoContagemProdutos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<ConteinerItens> getConteinerItenses() {
        return this.conteinerItenses;
    }
    
    public void setConteinerItenses(Set<ConteinerItens> conteinerItenses) {
        this.conteinerItenses = conteinerItenses;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<ProdutoImagem> getProdutoImagems() {
        return this.produtoImagems;
    }
    
    public void setProdutoImagems(Set<ProdutoImagem> produtoImagems) {
        this.produtoImagems = produtoImagems;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<ProdutosFaltantes> getProdutosFaltanteses() {
        return this.produtosFaltanteses;
    }
    
    public void setProdutosFaltanteses(Set<ProdutosFaltantes> produtosFaltanteses) {
        this.produtosFaltanteses = produtosFaltanteses;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<ProdutoNumeroSerie> getProdutoNumeroSeries() {
        return this.produtoNumeroSeries;
    }
    
    public void setProdutoNumeroSeries(Set<ProdutoNumeroSerie> produtoNumeroSeries) {
        this.produtoNumeroSeries = produtoNumeroSeries;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<NfiscaisItens> getNfiscaisItenses() {
        return this.nfiscaisItenses;
    }
    
    public void setNfiscaisItenses(Set<NfiscaisItens> nfiscaisItenses) {
        this.nfiscaisItenses = nfiscaisItenses;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<AssistenciasItens> getAssistenciasItenses() {
        return this.assistenciasItenses;
    }
    
    public void setAssistenciasItenses(Set<AssistenciasItens> assistenciasItenses) {
        this.assistenciasItenses = assistenciasItenses;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<PedidosItens> getPedidosItenses() {
        return this.pedidosItenses;
    }
    
    public void setPedidosItenses(Set<PedidosItens> pedidosItenses) {
        this.pedidosItenses = pedidosItenses;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<AssistenciasEquips> getAssistenciasEquipses() {
        return this.assistenciasEquipses;
    }
    
    public void setAssistenciasEquipses(Set<AssistenciasEquips> assistenciasEquipses) {
        this.assistenciasEquipses = assistenciasEquipses;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<RmaItem> getRmaItems() {
        return this.rmaItems;
    }
    
    public void setRmaItems(Set<RmaItem> rmaItems) {
        this.rmaItems = rmaItems;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<Produtos> getProdutoses() {
        return this.produtoses;
    }
    
    public void setProdutoses(Set<Produtos> produtoses) {
        this.produtoses = produtoses;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<Kardex> getKardexes() {
        return this.kardexes;
    }
    
    public void setKardexes(Set<Kardex> kardexes) {
        this.kardexes = kardexes;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="produtos")
    public Set<NfEntradasItens> getNfEntradasItenses() {
        return this.nfEntradasItenses;
    }
    
    public void setNfEntradasItenses(Set<NfEntradasItens> nfEntradasItenses) {
        this.nfEntradasItenses = nfEntradasItenses;
    }




}


